Enviado por: Electros
Fecha: 2003-06-15 01:04:24
Actualizado: 2004-02-05 18:29:00
¿Usa base de datos?: 1
Visitas: 331
Votos: 0
Descargado: 515 veces
Valoración: 0.00
» Valora este script «
ZipDescargar

Ahora podr�s saber cuantos usuarios en l�nea hay en tu web tanto anonimos como registrados, adem�s ver�s quienes se encuentran en l�nea. Primero debes crear las tablas en la base de datos, copia y pega el siguiente c�digo en el phpMyAdmin en SQL: [codigo]create TABLE uenlineavis ( ip varchar(15) not null, fecha int(10) unsigned not null, primary key (ip), index (fecha) ) ; create TABLE uenlineareg ( usuario varchar(20) not null, fecha int(10) unsigned not null, primary key (usuario), index (fecha) )[/codigo] Ahora debes crear el archivo [b]uenlinea.php[/b] con el siguiente c�digo: [codigo]<? include("config.php") ; $fecha = time() ; // Tiempo en el cu�l se considerar� al usuario en l�nea en minutos $tiempo = 10 ; // Se le resta el tiempo en minutos a la fecha actual $tiempo = $fecha-$tiempo*60 ; $ip = $REMOTE_ADDR ; $usuario = $_COOKIE["unick"] ; // Se eliminan las fechas que sean menores al tiempo l�mite mysql_query("delete from uenlineavis where fecha < $tiempo") ; mysql_query("delete from uenlineareg where fecha < $tiempo") ; // Para los usuarios no registrados $resp = mysql_query("select ip from uenlineavis where ip='$ip'") ; if(mysql_num_rows($resp) == 0) { mysql_query("insert into uenlineavis values ('$ip','$fecha')") ; } else { mysql_query("update uenlineavis set fecha='$fecha' where ip='$ip'") ; } mysql_free_result($resp) ; // Para los usuarios registrados if($_COOKIE["unick"]) { $resp = mysql_query("select usuario from uenlineareg where usuario='$usuario'") ; if(mysql_num_rows($resp) == 0) { mysql_query("insert into uenlineareg values ('$usuario','$fecha')") ; } else { mysql_query("update uenlineareg set fecha='$fecha' where usuario='$usuario'") ; } mysql_free_result($resp) ; } // Se obtiene el n�mero de usuarios en l�nea $resp = mysql_query("select ip from uenlineavis") ; // N�mero de usuarios $usuarios = mysql_num_rows($resp) ; mysql_free_result($resp) ; $resp = mysql_query("select usuario from uenlineareg") ; // N�mero de registrados $registrados = mysql_num_rows($resp) ; mysql_free_result($resp) ; // N�mero de anonimos $anonimos = $usuarios - $registrados ; // Se obtiene el nick de los usuarios que se encuentran en l�nea $resp = mysql_query("select usuario from uenlineareg") ; if(mysql_num_rows($resp) != 0) { $renlinea = "�" ; while($datos = mysql_fetch_array($resp)) { $renlinea .= " <a href="mensajes.php?responder=$datos[usuario]">$datos[usuario]</a> �" ; } } mysql_free_result($resp) ; mysql_close($conectar) ; ?>[/codigo] Una vez que est� creado el archivo solamente debes poner el siguiente c�digo en todas las p�ginas de tu web: [codigo]<? include("uenlinea.php") ; echo " Hay $usuarios usuarios: $anonimos anonimos y $registrados registrados<br> $renlinea " ; ?>[/codigo] Como un detalle m�s se puede hacer que en el momento que el usuario se desconecte de la web, se elimine de la lista de usuarios registrados en l�nea, simplemente elimina el archivo [b]usalir.php[/b] y vu�velo a crear con el siguiente c�digo: [codigo]<? include("config.php") ; mysql_query("delete from uenlineareg where usuario='$_COOKIE[unick]'") ; setcookie("unick") ; setcookie("ucontrasena") ; header("location: index.php") ; ?>[/codigo] Listo el script de usuarios en l�nea est� terminado, ahora puedes pasar al siguiente script [url=?ver=scripts&s=21]Registro de usuarios 4 - Perfil[/url].